package entidades;


import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
//import javax.persistence.Id;
import javax.persistence.ManyToMany;

@Entity
public class Alumno extends Persona implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long legajo;
    @ManyToMany(mappedBy = "alumnos")
    private List<Carrera> carreras;


    public Alumno() {
    }

    public List<Carrera> getCarreras() {
        return carreras;
    }
    public void setCarreras(List<Carrera> carreras) {
        this.carreras = carreras;
    }
    public Long getLegajo() {
        return legajo;
    }
    public void setLegajo(Long legajo) {
        this.legajo = legajo;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Alumno other = (Alumno) obj;
        if (this.legajo != other.legajo && (this.legajo == null || !this.legajo.equals(other.legajo))) {
            return false;
        }
        return true;
    }
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + (this.legajo != null ? this.legajo.hashCode() : 0);
        return hash;
    }
    
    public void sobreescribir(Alumno alumno) {
        this.apellido = alumno.getApellido();
        this.calle = alumno.getCalle();
        this.clave = alumno.getClave();
        this.dni = alumno.getDni();
        this.fechaNacimiento = alumno.getFechaNacimiento();
        this.idPersona = alumno.getIdPersona();
        this.legajo = alumno.getLegajo();
        this.nombre = alumno.getNombre();
        this.nroCalle = alumno.getNroCalle();
        this.provincia = alumno.getProvincia();
        this.carreras = alumno.getCarreras();
    }
}
